import QtQuick 1.0

Item {
    id:_root
    property bool isForceDesktop: false     // デスクトップを強制
    property bool isMobile: false           // モバイルか

    property real dpi: 94.1;
    property real dpiDesktop: 94.1;         // DPI (デスクトップ）
    property real dpiMobile: 160;           // dpi mobile
    property real density: 1.0;             // ドット密度

    // モバイルかどうかを設定
    onIsMobileChanged: {
        if(isMobile){
            dpi = dpiMobile;
        }else{
            dpi = dpiDesktop;
        }
        calcDensity();
    }

    // densityを再計算する
    function calcDensity(){
        if(isMobile){
            density = dpiMobile / dpiDesktop;
        }else{
            density = 1.0;
        }
    }

    // デバイスがモバイルか判断して情報取得
    function check(module, version, element, statement, parent) {
        var ret = false;
        try{
            var obj = Qt.createQmlObject("import " + module + " " + version + "; "
                                         + element + "{function func(){"
                                         + statement + "}}"
                                         , parent);
            obj.func();
            obj.destroy();
            ret = true;
        }catch(e){
            console.debug("device info:exception:" + e);
        }
        return ret;
    }

    Component.onCompleted: {
        // デバイスチェック
//        if(isForceDesktop){
//        }else if(check("com.nokia.symbian", "1.0"
//                 , "Window"
//                 , "if(Screen.dpi !== undefined){parent.dpiMobile = Screen.dpi;}"
//                 , _root)){
//            // mobile(symbian)
//            isMobile = true;
//        }else if(check("com.nokia.meego", "1.0"
//                 , "Window"
//                 , "if(Screen.dpi !== undefined){parent.dpiMobile = Screen.dpi;}"
//                 , _root)){
//            // mobile(meego)
//            isMobile = true;
//        }else{
//            // desktop
//        }
    }
}
